# 作者：SP
# 开发时间：2025/3/10 7:09
import sys
import pygame
from setting import Settings
from ship import Ship
class AlienInvasion:
    '''管理游戏资源和行为的类'''
    def __init__(self):
        '''初始化游戏并创建游戏资源'''
        pygame.init()
        self.setting = Settings()
        self.screen = pygame.display.set_mode((self.setting.screen_width,self.setting.screen_height))
        pygame.display.set_caption("外星人入侵")
        self.ship = Ship(self)

    def run_game(self):
        '''开始游戏的主循环'''
        while True:
            self._check_events()
            self._update_screen()
            def _check_events(self):
                #监视键盘和鼠标事件
                for event in pygame.event.get():
                     if event.type == pygame.QUIT:
                         sys.exit()

            def _update_screen(self):
                #更新屏幕上的图像，并切换到新屏幕
                self.screen.fill(self.setting.bg_color)
                self.ship.blitem()
                #让最近的绘制的屏幕可见
                pygame.display.flip()


if __name__ == '__main__':
    '''创建游戏实例并运行游戏'''
    ai = AlienInvasion()
    ai.run_game()
